97a0ac7c83eccc5a82cffeb9ad6c9e7a9bfb0880,h2o-core/src/main/java/water/currents/ASTStrOp.java,ASTToLower,apply,#Env#Env.StackHelp#AST#,90
Before Change
@Override Val apply( Env env, Env.StackHelp stk, AST asts[] ) {
Frame fr = stk.track(asts[1].exec(env)).getFrame();
if (fr.numCols() != 1) throw new IllegalArgumentException("tolower only takes a single column of data. Got "+ fr.numCols()+" columns.");
if( !fr.anyVec().isEnum() ) throw new IllegalArgumentException("expected categorical column.");
String[] dom = fr.anyVec().domain();
for (int i = 0; i < dom.length; ++i)
dom[i] = dom[i].toLowerCase(Locale.ENGLISH);
// COW
Vec v = fr.anyVec().makeCopy(dom);
return new ValFrame(new Frame(v));
}
}
After Change
@Override Val apply( Env env, Env.StackHelp stk, AST asts[] ) {
Frame fr = stk.track(asts[1].exec(env)).getFrame();
if (fr.numCols() != 1) throw new IllegalArgumentException("tolower only takes a single column of data. Got "+ fr.numCols()+" columns.");
Vec vec = fr.anyVec(); assert vec != null;
if( !vec.isEnum() ) throw new IllegalArgumentException("expected categorical column.");
String[] dom = vec.domain();
for (int i = 0; i < dom.length; ++i)
dom[i] = dom[i].toLowerCase(Locale.ENGLISH);
// COW
Vec v = vec.makeCopy(dom);
return new ValFrame(new Frame(v));
}
}